<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

use think\facade\Route;

Route::group('', function () {
    Route::group('cms', function () {
        // 账户相关接口分组
        Route::group('user', function () {
            // 登陆接口
            Route::post('login', 'api/cms.User/login');
            // 刷新令牌
            Route::get('refresh', 'api/cms.User/refresh');
            // 查询自己拥有的权限
            Route::get('auths', 'api/cms.User/getAllowedApis');
            // 注册一个用户
            Route::post('register', 'api/cms.User/register');
            // 更新头像
            Route::put('avatar','api/cms.User/setAvatar');
            // 查询自己信息
            Route::get('information','api/cms.User/getInformation');
            // 用户更新信息
            Route::put('','api/cms.User/update');
            // 修改自己密码
            Route::put('change_password','api/cms.User/changePassword');
        });
        // 管理类接口
        Route::group('admin', function () {
            // 查询所有权限组
            Route::get('group/all', 'api/cms.Admin/getGroupAll');
            // 查询一个权限组及其权限
            Route::get('group/:id', 'api/cms.Admin/getGroup');
            // 删除一个权限组
            Route::delete('group/:id', 'api/cms.Admin/deleteGroup');
            // 更新一个权限组
            Route::put('group/:id', 'api/cms.Admin/updateGroup');
            // 新建权限组
            Route::post('group', 'api/cms.Admin/createGroup');
            // 查询所有可分配的权限
            Route::get('authority', 'api/cms.Admin/authority');
            // 删除多个权限
            Route::post('remove', 'api/cms.Admin/removeAuths');
            // 添加多个权限
            Route::post('/dispatch/patch', 'api/cms.Admin/dispatchAuths');
            // 查询所有用户
            Route::get('users', 'api/cms.Admin/getAdminUsers');
            // 修改用户密码
            Route::put('password/:uid', 'api/cms.Admin/changeUserPassword');
            // 删除用户
            Route::delete(':uid', 'api/cms.Admin/deleteUser');
            // 更新用户信息
            Route::put(':uid', 'api/cms.Admin/updateUser');
        });
        // 日志类接口
        Route::group('log',function (){
            Route::get('', 'api/cms.Log/getLogs');
            Route::get('users', 'api/cms.Log/getUsers');
            Route::get('search', 'api/cms.Log/getUserLogs');
        });
        //上传文件类接口
        Route::post('file','api/cms.File/postFile');
    });
    Route::group('v1', function () {
        // 产品
        Route::group('product',function(){
            // 列表
            Route::get('', 'api/v1.Product/getDataList');
            // 详情
            Route::get(':id', 'api/v1.Product/getDataInfo');
            // 添加
            Route::post('', 'api/v1.Product/createData');
            // 详情
            Route::put('', 'api/v1.Product/updateData');
            // 删除
            Route::delete(':id', 'api/v1.Product/deleteData');
        });

        // 产品
        Route::group('product-type',function(){
            // 列表
            Route::get('all', 'api/v1.Product/getTypeDataAll');
            // 列表
            Route::get('', 'api/v1.Product/getTypeDataList');
            // 添加
            Route::post('', 'api/v1.Product/createTypeData');
            // 修改
            Route::put('', 'api/v1.Product/updateTypeData');
        });

        // 店面
        Route::group('store',function(){
            // 列表
            Route::get('', 'api/v1.Store/getDataList');
            // 详情
            Route::get(':id', 'api/v1.Store/getDataInfo');
            // 添加
            Route::post('', 'api/v1.Store/createData');
            // 详情
            Route::put('', 'api/v1.Store/updateData');
            // 删除
            Route::delete(':id', 'api/v1.Store/deleteData');
        });

        // 分组
        Route::group('store-group',function(){
            // 列表
            Route::get('', 'api/v1.StoreGroup/getDataList');
            // 详情
            Route::get(':id', 'api/v1.StoreGroup/getDataInfo');
            // 添加
            Route::post('', 'api/v1.StoreGroup/createData');
            // 详情
            Route::put('', 'api/v1.StoreGroup/updateData');
            // 删除
            Route::delete(':id', 'api/v1.StoreGroup/deleteData');
        });

        // 员工
        Route::group('store-user',function(){
            // 列表
            Route::get('', 'api/v1.StoreUser/getDataList');
            // 详情
            Route::get(':id', 'api/v1.StoreUser/getDataInfo');
            // 添加
            Route::post('', 'api/v1.StoreUser/createData');
            // 详情
            Route::put('', 'api/v1.StoreUser/updateData');
            // 删除
            Route::delete(':id', 'api/v1.StoreUser/deleteData');
        });


        // 团
        Route::group('team',function(){
            // 列表
            Route::get('', 'api/v1.Team/getDataList');
            // 详情
            Route::get(':id', 'api/v1.Team/getDataInfo');
            // 添加
            Route::post('', 'api/v1.Team/createData');
            // 详情
            Route::put('', 'api/v1.Team/updateData');
            // 删除
            Route::delete(':id', 'api/v1.Team/deleteData');
        });

        // 团人员
        Route::group('team-user',function(){
            // 列表
            Route::get('', 'api/v1.TeamUser/getDataList');
            // 详情
            Route::get(':id', 'api/v1.TeamUser/getDataInfo');
            // 添加
            Route::post('', 'api/v1.TeamUser/createData');
            // 详情
            Route::put('', 'api/v1.TeamUser/updateData');
            // 删除
            Route::delete(':id', 'api/v1.TeamUser/deleteData');
        });

        // 用户
        Route::group('user',function(){
            // 列表
            Route::get('', 'api/v1.User/getDataList');
        });

        // 全部
        Route::group('all',function(){
            // 全部门店信息
            Route::get('store', 'api/v1.Store/getDataAll');
            // 全部分组信息
            Route::get('store-group', 'api/v1.StoreGroup/getDataAll');
            // 全部用户信息
            Route::get('user', 'api/v1.User/getDataAll');
            // 全部团信息
            Route::get('team', 'api/v1.Team/getDataAll');
            // 核算信息
            Route::get('bus', 'api/v1.Bus/getDataAll');
        });

        // 核销
        Route::group('bus',function(){
            // 列表
            Route::get('', 'api/v1.Bus/getDataList');
            // 导入
            Route::put('', 'api/v1.Bus/updateData');
        });

        // 上下架
        Route::group('up-down',function(){
            // 产品
            Route::put('product', 'api/v1.Product/setUpDown');
        });

        // 系统信息
        Route::group('system',function(){
            // 系统信息
            Route::get('', 'api/v1.System/getSystem');
            // 系统信息
            Route::put('', 'api/v1.System/updateSystem');
        });

        // 排行
        Route::group('rank',function(){
            // 店长
            Route::get('store', 'api/v1.Rank/getStoreList');
            // 组长
            Route::get('store-user', 'api/v1.Rank/getStoreUserList');
            // 团
            Route::get('team', 'api/v1.Rank/getTeamList');
            // 团员
            Route::get('team-user', 'api/v1.Rank/getTeamUserList');
        });
    });

})->middleware(['Auth','ReflexValidate'])->allowCrossDomain();
